home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / mach-ixp23xx / include / mach / io.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.4 KB  |  55 lines

  1. /*
  2.  * arch/arm/mach-ixp23xx/include/mach/io.h
  3.  *
  4.  * Original Author: Naeem M Afzal <naeem.m.afzal@intel.com>
  5.  * Maintainer: Deepak Saxena <dsaxena@plexity.net>
  6.  *
  7.  * Copyright (C) 2003-2005 Intel Corp.
  8.  * Copyright (C) 2005 MontaVista Software, Inc
  9.  *
  10.  * This program is free software; you can redistribute it and/or modify
  11.  * it under the terms of the GNU General Public License version 2 as
  12.  * published by the Free Software Foundation.
  13.  */
  14.  
  15. #ifndef __ASM_ARCH_IO_H
  16. #define __ASM_ARCH_IO_H
  17.  
  18. #define IO_SPACE_LIMIT 0xffffffff
  19.  
  20. #define __io(p)        ((void __iomem*)((p) + IXP23XX_PCI_IO_VIRT))
  21. #define __mem_pci(a)    (a)
  22.  
  23. #include <linux/kernel.h>    /* For BUG */
  24.  
  25. static inline void __iomem *
  26. ixp23xx_ioremap(unsigned long addr, unsigned long size, unsigned int mtype)
  27. {
  28.     if (addr >= IXP23XX_PCI_MEM_START &&
  29.         addr <= IXP23XX_PCI_MEM_START + IXP23XX_PCI_MEM_SIZE) {
  30.         if (addr + size > IXP23XX_PCI_MEM_START + IXP23XX_PCI_MEM_SIZE)
  31.             return NULL;
  32.  
  33.         return (void __iomem *)
  34.              ((addr - IXP23XX_PCI_MEM_START) + IXP23XX_PCI_MEM_VIRT);
  35.     }
  36.  
  37.     return __arm_ioremap(addr, size, mtype);
  38. }
  39.  
  40. static inline void
  41. ixp23xx_iounmap(void __iomem *addr)
  42. {
  43.     if ((((u32)addr) >= IXP23XX_PCI_MEM_VIRT) &&
  44.         (((u32)addr) < IXP23XX_PCI_MEM_VIRT + IXP23XX_PCI_MEM_SIZE))
  45.         return;
  46.  
  47.     __iounmap(addr);
  48. }
  49.  
  50. #define __arch_ioremap(a,s,f)    ixp23xx_ioremap(a,s,f)
  51. #define __arch_iounmap(a)    ixp23xx_iounmap(a)
  52.  
  53.  
  54. #endif
  55.